import axios from "axios";
// 导入本地存储
import $local from "./local.js";
// 设置axios的默认配置
axios.defaults.baseURL="http://127.0.0.1:8888/api/private/v1"

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    if($local.isKey("user_login")){
     let u= $local.get("user_login");
    //  配置请求token
     config.headers.Authorization= u.token;
    }
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response.data;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

// 定义一个函数，发送所有的请求
function request(url,data={},method="get"){
    return axios({
        url,
        method,
        // 当请求方式为post和put时使用data携带参数
        data:method=='post' || method=='put' ? data:'',
        // 当请求方式为delete 和 get 时使用params携带参数
        params:method=='get' || method=='delete' ? data:''
    })
}

export default {
    // 查询数据
    get(url,data){
        return request(url,data,"get");
    },
    // 添加数据
    post(url,data){
        return request(url,data,"post");
    },
    // 删除数据
    delte(url,data){
        return request(url,data,"delete");
    },
    // 修改数据
    put(url,data){
        return request(url,data,"put");
    },
}